﻿
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using WalkingTec.Mvvm.Core;
using WalkingTec.Mvvm.Core.Extensions;
using TyMES.Model.BaseInformation;
using TyMES.Model;

namespace TyMES.ViewModel.BaseInformation.MaterialVMs
{
    public partial class MaterialTemplateVM : BaseTemplateVM
    {
        
        [Display(Name = "_Model._Material._MaterialCode")]
        public ExcelPropety MaterialCode_Excel = ExcelPropety.CreateProperty<Material>(x => x.MaterialCode);
        [Display(Name = "_Model._Material._MaterialType")]
        public ExcelPropety MaterialType_Excel = ExcelPropety.CreateProperty<Material>(x => x.MaterialType);
        [Display(Name = "_Model._Material._MaterialName")]
        public ExcelPropety MaterialName_Excel = ExcelPropety.CreateProperty<Material>(x => x.MaterialName);
        [Display(Name = "_Model._Material._MaterialVersion")]
        public ExcelPropety MaterialVersion_Excel = ExcelPropety.CreateProperty<Material>(x => x.MaterialVersion);
        [Display(Name = "_Model._Material._MeasureUnitCode")]
        public ExcelPropety MeasureUnitCode_Excel = ExcelPropety.CreateProperty<Material>(x => x.MeasureUnitCode);
        [Display(Name = "_Model._Material._Regular")]
        public ExcelPropety Regular_Excel = ExcelPropety.CreateProperty<Material>(x => x.Regular);
        [Display(Name = "_Model._Material._ShipRegular")]
        public ExcelPropety ShipRegular_Excel = ExcelPropety.CreateProperty<Material>(x => x.ShipRegular);
        [Display(Name = "_Model._Material._MachineStatus")]
        public ExcelPropety MachineStatus_Excel = ExcelPropety.CreateProperty<Material>(x => x.MachineStatus);
        [Display(Name = "_Model._Material._Field1")]
        public ExcelPropety Field1_Excel = ExcelPropety.CreateProperty<Material>(x => x.Field1);
        [Display(Name = "_Model._Material._Field2")]
        public ExcelPropety Field2_Excel = ExcelPropety.CreateProperty<Material>(x => x.Field2);
        [Display(Name = "_Model._Material._Field3")]
        public ExcelPropety Field3_Excel = ExcelPropety.CreateProperty<Material>(x => x.Field3);
        [Display(Name = "_Model._Material._Field4")]
        public ExcelPropety Field4_Excel = ExcelPropety.CreateProperty<Material>(x => x.Field4);
        [Display(Name = "_Model._Material._Field5")]
        public ExcelPropety Field5_Excel = ExcelPropety.CreateProperty<Material>(x => x.Field5);
        [Display(Name = "_Model._Material._CreateTime")]
        public ExcelPropety CreateTime_Excel = ExcelPropety.CreateProperty<Material>(x => x.CreateTime, true);
        [Display(Name = "_Model._Material._UpdateTime")]
        public ExcelPropety UpdateTime_Excel = ExcelPropety.CreateProperty<Material>(x => x.UpdateTime, true);
        [Display(Name = "_Model._Material._CreateBy")]
        public ExcelPropety CreateBy_Excel = ExcelPropety.CreateProperty<Material>(x => x.CreateBy);
        [Display(Name = "_Model._Material._UpdateBy")]
        public ExcelPropety UpdateBy_Excel = ExcelPropety.CreateProperty<Material>(x => x.UpdateBy);
        [Display(Name = "_Model._Material._IsValid")]
        public ExcelPropety IsValid_Excel = ExcelPropety.CreateProperty<Material>(x => x.IsValid);

	    protected override void InitVM()
        {
            
        }

    }

    public class MaterialImportVM : BaseImportVM<MaterialTemplateVM, Material>
    {
            //import

    }

}